#include <iostream>
using namespace std;
int dp[1001],num[1001];
int M=0,idx;
void fun(int n,int flag){
  if(n<1)return;
  else{
    if(num[n]<num[flag]&&dp[n]==dp[flag]-1||n==idx){
        fun(n-1,n);
        cout<<num[n]<<" ";
    }else fun(n-1,flag);
  }
}
int main()
{
  int n;cin>>n;
  for(int i=1;i<=n;i++)
    cin>>num[i];
  for(int i=1;i<n;i++)
    for(int j=i+1;j<=n;j++) 
      if(num[j]>num[i]){
        dp[j]=dp[i]+1;
        if(M<dp[j]){
          M=dp[j];
          idx=j;
        }
      }
      fun(idx,idx);
  return 0;
}